package cn.hls.dao;

import java.util.List;
import java.util.Map;

import cn.hls.entity.CertSet;
import cn.hls.entity.Member;
import cn.hls.entity.vo.PageInfo;


/**
 *@fileName: MemberDao.java
 *@package: cn.christ.dao
 *@Description:  人员数据接口类
 *@author: yinghui.zhang
 *@email: uuhui@163.com
 *@date: 2015-7-18
 */
public interface MemberDao extends BaseDao<Member> {
	 
	/**
	 * 分页查询人员信息
	 * 
	 * @param entity  人员基本信息
	 * @param page 分页参数
	 * @param orgIds 组织编号      
	 * @return PageInfo<Org>
	 */
	PageInfo<Member> loadMemberInfo(Member entity, PageInfo<Member> page) throws Exception;

	/**
	 * 根据查询条件查询人员信息
	 * @param entity 查询对象
	 * @return List<Member>
	 * @throws Exception
	 */
	List<Member>loadMemberList(Member entity)throws Exception;
	
	/**
	 * 判断人员信息是否存在
	 * @param entity　人员对象
	 * @return boolean
	 * @throws Exception 查询数据异常
	 */
	boolean exists(Member entity) throws Exception;
	
	/**
	 * 汇总统计员工证书过期数
	 * @param companyId 企业编号
	 * @param cetSetMap 到期提醒对象
	 * @return Map<String,Integer>
	 * @throws Exception
	 */

	Map<String,Integer>loadExpiredMembers(Long companyId,Map<String,CertSet>cetSetMap)throws Exception;
	
	/**
	 * 查询证件过期的员工信息
	 * @param cetSetMap 到期提醒对象
	 * @return List<Member>
	 * @throws Exception
	 */
	List<Member> loadMemberOfExpired(Map<String,CertSet>cetSetMap)throws Exception;
	
	/**
	 * 根据人员编号集合查询人员信息
	 * @param list 编辑集合查询
	 * @return List<Member>
	 * @throws Exception
	 */
	List<Member> loadMemberByIds(List<Long> list)throws Exception;
}
